]> dgit.raspbian.org Git - gnome-shell.git/log
gnome-shell.git
5 months agoStandards-Version: 4.7.4 (no changes required)
Simon McVittie [Sun, 31 May 2026 08:07:43 +0000 (09:07 +0100)]
Standards-Version: 4.7.4 (no changes required)

5 months agod/patches: Drop patches that were applied upstream
Simon McVittie [Sun, 31 May 2026 07:56:22 +0000 (08:56 +0100)]
d/patches: Drop patches that were applied upstream

5 months agoNew upstream release
Simon McVittie [Sun, 31 May 2026 07:49:36 +0000 (08:49 +0100)]
New upstream release

5 months agoUpdate upstream source from tag 'upstream/50.2'
Simon McVittie [Sun, 31 May 2026 07:49:36 +0000 (08:49 +0100)]
Update upstream source from tag 'upstream/50.2'

Update to upstream version '50.2'
with Debian dir 371a946a9fd88efd4e7bae5c766e58dca9d639fc

5 months agoNew upstream version 50.2
Simon McVittie [Sun, 31 May 2026 07:49:31 +0000 (08:49 +0100)]
New upstream version 50.2

5 months agoBump version to 50.2
Florian Müllner [Tue, 26 May 2026 16:07:46 +0000 (18:07 +0200)]
Bump version to 50.2

Update NEWS.

5 months agostatus/volume: Show input only if stream is running
Herman Fries [Thu, 14 May 2026 13:09:40 +0000 (15:09 +0200)]
status/volume: Show input only if stream is running

Input indicator should only show if a stream is in running state,
ignoring passive streams such as echo-cancellation or denoise filters.

The stream-changed listener is required as streams might transition
between idle and running states.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/7217

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4218>

5 months agologinDialog: Open session/a11y menu on either button
Florian Müllner [Mon, 25 May 2026 19:53:19 +0000 (21:53 +0200)]
loginDialog: Open session/a11y menu on either button

Users can choose whether the left or right mouse button acts
as the primary one, however that setting isn't carried over
to the login screen.

As the secondary button is unused in that context anyway, most
elements already accept either button. Do the same for the two
remaining elements.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/9243
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4225>
(cherry picked from commit 8f80504eca99e4191fbc5561abe65429e80a7d26)

5 months agoUpdate Cornish translation
Flynn Peck [Mon, 18 May 2026 11:13:51 +0000 (11:13 +0000)]
Update Cornish translation

5 months agobuild: Update libgnome-volume-control revision
Florian Müllner [Fri, 15 May 2026 22:19:50 +0000 (00:19 +0200)]
build: Update libgnome-volume-control revision

The new revision correctly sets the state of source streams as well,
instead of just sink streams.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/7217
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4220>

5 months agoauthPrompt: Await wiggle via show-message promise resolver
Joan Torres Lopez [Tue, 5 May 2026 15:28:18 +0000 (17:28 +0200)]
authPrompt: Await wiggle via show-message promise resolver

Pass promise resolver through the show-message signal so the
message queue waits for the wiggle animation to finish before scheduling
the next message timeout. This replaces the previous approach of manually
increasing the timeout duration to account for the wiggle.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4209>

5 months agoauthPrompt: Call wiggle directly in _onShowMessage
Joan Torres Lopez [Tue, 5 May 2026 19:32:06 +0000 (21:32 +0200)]
authPrompt: Call wiggle directly in _onShowMessage

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4209>

5 months agoanimationUtils: Skip no-op wiggle to avoid cancelling pending transitions
Joan Torres Lopez [Tue, 5 May 2026 15:26:27 +0000 (17:26 +0200)]
animationUtils: Skip no-op wiggle to avoid cancelling pending transitions

When wiggle() is called with duration 0, the async easeAsync calls
yield between microtasks, leaving pending operations that remove
transitions on the same property. This becomes a problem when two
setMessage() calls happen in the same call stack (e.g. via
_queuePriorityMessage): the first fires a no-op wiggle(dur:0) and
the second starts the real wiggle(dur:65). When microtasks drain,
the first wiggle's pending easeAsync calls overwrite the second
wiggle's active transition, effectively cancelling the real animation.

Return early when duration is 0, since the animation is a no-op anyway.

Fixes: fdadbb7a5a2 ("animationUtils: Use easeAsync() for wiggle")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/9207
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4209>

5 months agoUpdate Belarusian translation
Vasil Pupkin [Thu, 14 May 2026 17:17:05 +0000 (17:17 +0000)]
Update Belarusian translation

5 months agoUpdate Cornish translation
Flynn Peck [Tue, 12 May 2026 10:58:24 +0000 (10:58 +0000)]
Update Cornish translation

5 months agoUpdate Cornish translation
Flynn Peck [Mon, 11 May 2026 21:00:47 +0000 (21:00 +0000)]
Update Cornish translation

6 months agoAdjust for goblint → gobject-linter name change
Florian Müllner [Tue, 5 May 2026 16:32:00 +0000 (18:32 +0200)]
Adjust for goblint → gobject-linter name change

The project was renamed to avoid a name clash with an existing
project; update the config file to the new name.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4210>

6 months agoUpdate Norwegian Nynorsk translation
Bjørn Mørkedal [Wed, 6 May 2026 10:02:07 +0000 (10:02 +0000)]
Update Norwegian Nynorsk translation

6 months agoUpdate Chinese (China) translation
luming zh [Tue, 5 May 2026 09:51:07 +0000 (09:51 +0000)]
Update Chinese (China) translation

6 months agoAdd goblint configuration
Florian Müllner [Tue, 28 Apr 2026 10:25:15 +0000 (12:25 +0200)]
Add goblint configuration

When discussing goblint on Matrix, there were some concerns
around its rules for defining properties:

 - having to explicitly track the last property ID, instead
   of including N_PROPS in the anonymous enum

 - including read-only properties in set() and write-only in get()
   adds unreachable code, which is bad for code coverage

Those were considered more important than the benefit of checking
get()/set() with `-Wswitch-enum`, so at least for now stick with
the existing property conventions.

Add a configuration that enables "legacy" style for the corresponding
rules.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4198>

6 months agokeyboardManager: Use layout id when reapplying
Sebastian Keller [Thu, 30 Apr 2026 01:44:57 +0000 (03:44 +0200)]
keyboardManager: Use layout id when reapplying

`_doApply()` expects the id rather than the layout info itself. Passing
the layout info caused the lookup to fail and the function to exit
early. This was preventing `xkb-option` or `xkb-model` settings from
applying when changed.

Fixes: 0f9034687 ("status/keyboard: Adapt to external source of keyboard layout")
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/9197
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4205>

6 months agoUpdate Slovak translation
Jose Riha [Thu, 30 Apr 2026 07:40:41 +0000 (07:40 +0000)]
Update Slovak translation

6 months agoUpdate Slovak translation
Jose Riha [Wed, 29 Apr 2026 16:57:36 +0000 (16:57 +0000)]
Update Slovak translation

6 months agoIgnore pycache and wraplock
Liam Rust [Wed, 29 Apr 2026 07:25:48 +0000 (03:25 -0400)]
Ignore pycache and wraplock

Running tests and builds will sometimes create either a Python
`__pycache__` directory or a Meson `.wraplock` file. Probably a good
idea to ignore those so they never get included upstream.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4201>

6 months agoAdd Lao translation
Saikeo Kavhanxay [Tue, 28 Apr 2026 15:05:50 +0000 (15:05 +0000)]
Add Lao translation

6 months agomessageTray: Don't try to focus destroyed actor
Sebastian Keller [Mon, 27 Apr 2026 20:53:59 +0000 (22:53 +0200)]
messageTray: Don't try to focus destroyed actor

When `ungrabFocus()` is called after hiding a notification, the previous
focus actor might have already been destroyed and trying to focus it
will trigger a gjs error.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/9190
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4197>

6 months agoUpdate Slovak translation
Jose Riha [Mon, 27 Apr 2026 11:11:13 +0000 (11:11 +0000)]
Update Slovak translation

6 months agoshell/app: Be extra careful when applying GPU environment
Florian Müllner [Fri, 24 Apr 2026 22:19:36 +0000 (00:19 +0200)]
shell/app: Be extra careful when applying GPU environment

We get the environment from SwitcherooControl as an array of
key-value pairs. When applying it, we loop over the array in pairs,
assuming that every key has a value.

While this is the expected format, it does not hurt to be defensive
against possible bugs in the service, so explicitly check that both
key and value are non-NULL before applying them.

Spotted by papagai.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4194>

6 months agoendSessionDialog: Recognize scheduled updates in the Power Off dialog
Milan Crha [Wed, 22 Apr 2026 15:04:28 +0000 (17:04 +0200)]
endSessionDialog: Recognize scheduled updates in the Power Off dialog

The Power Off dialog should show a checkbox to install (or not) a scheduled
update, but I missed it in my previous https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4185

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4188>

6 months agoanimation: Prevent spinner animation from resetting
Vicente Bertolotti [Sat, 25 Apr 2026 01:26:28 +0000 (21:26 -0400)]
animation: Prevent spinner animation from resetting

Currently, the search status spinner animation restarts on every
single keystroke while a search is in progress. This occurs because
redundant calls to `play()` replace the previous content and restart
the animation from the beginning.

This commit fixes this by ignoring redundant `play()` and `stop()` calls.

Closes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8695

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4191>

6 months agoUpdate Slovak translation
Jose Riha [Thu, 23 Apr 2026 20:06:58 +0000 (20:06 +0000)]
Update Slovak translation

6 months agoglobal: Stop using clutter_get_default_backend
Bilal Elmoussaoui [Mon, 16 Mar 2026 21:31:16 +0000 (22:31 +0100)]
global: Stop using clutter_get_default_backend

Adapt to change proposed at https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4981

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4135>

6 months agoautorunManager: Connect to the correct notification signal
Sebastian Keller [Tue, 21 Apr 2026 11:59:51 +0000 (13:59 +0200)]
autorunManager: Connect to the correct notification signal

The signal is called `activated`. This was triggering an error and
preventing the notification from showing up when connecting an USB
drive with autorun enabled.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4187>

6 months agoautorunManager: Catch and log errors from mount-added handler
Sebastian Keller [Tue, 21 Apr 2026 11:58:38 +0000 (13:58 +0200)]
autorunManager: Catch and log errors from mount-added handler

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/9183
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4187>

6 months agoendSessionDialog: Prepare updates also in the "Restart & Install" dialog
Milan Crha [Mon, 20 Apr 2026 10:22:48 +0000 (12:22 +0200)]
endSessionDialog: Prepare updates also in the "Restart & Install" dialog

The current code expects a checkbox to confirm update installation to be
present, but when the updates are already scheduled, it did not confirm
the actual user action for the update, aka to reboot the machine, instead
of using the previously set update action, which could be Power Off.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4185>

6 months agoendSessionDialog: Differentiate between prepared and scheduled updates again
Milan Crha [Tue, 21 Apr 2026 15:38:10 +0000 (17:38 +0200)]
endSessionDialog: Differentiate between prepared and scheduled updates again

The prepared updates are those downloaded, while the scheduled updates
are those ready to be installed the next machine boot. The previous
gnome-software change with its OfflineUpdates D-Bus interface did not
count with it and claimed all the updates as scheduled, even when they
had been only prepared. This makes it work again by utilizing the
gnome-software changes.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4185>

6 months agoUpdate Dutch translation
Nathan Follens [Sun, 19 Apr 2026 17:28:22 +0000 (17:28 +0000)]
Update Dutch translation

6 months agoscreencastService: Add rate control to VA-API H.264 pipelines
Mikhail Gavrilov [Sun, 12 Apr 2026 13:14:01 +0000 (18:14 +0500)]
screencastService: Add rate control to VA-API H.264 pipelines

The vah264enc and vah264lpenc pipelines do not specify any rate control
parameters, causing the encoder to use its default bitrate. At 4K this
results in ~12 Mbit/s recordings — roughly 18x larger than the VP8
software fallback (~630 kbit/s) with no visible quality benefit for
typical screencast content.

All other pipelines in the PIPELINES array constrain quality explicitly:
openh264enc uses qp-max=26/qp-min=26, vp8enc uses max-quantizer=17 and
buffer-size=20000. Only the two VA-API pipelines are left unconstrained.

Add rate-control=vbr bitrate=2048 target-percentage=50 to both VA-API
pipelines. This produces ~1 Mbit/s average / 2 Mbit/s peak, which is
comparable to what the other encoders produce and works across both AMD
(which lacks CQP) and Intel VA-API implementations.

Before (4K, 5s recording): 11688 kb/s, 7.2 MB
After  (4K, 5s recording):  2472 kb/s, 1.6 MB

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/9165
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4171>

6 months agodash: Use connectObject to track signal connection to global objects
Marco Trevisan (Treviño) [Wed, 15 Apr 2026 21:24:25 +0000 (23:24 +0200)]
dash: Use connectObject to track signal connection to global objects

While the dash is never destroyed in vanilla gnome shell, various
extensions (such as dash-to-dock) are using this code, potentially for
every monitor.

And so we should make sure that the signals are disconnected when the
actor is destroyed.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4180>

6 months agoappFavorites: Move installed-changed where it belongs
Marco Trevisan (Treviño) [Wed, 15 Apr 2026 21:09:00 +0000 (23:09 +0200)]
appFavorites: Move installed-changed where it belongs

In the dash we are monitoring the installed applications and reload the
favorites, while this is not something that is related to the dash per
se, and if the AppFavorites is used to track the favorites elsewhere it
would not be updated when new favorite apps are installed.

So move the logic to AppFavorites, that will now emit a changed
event whenever any favorite changed.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4180>

6 months agoappFavorites: Only emit :changed signal on changes
Marco Trevisan (Treviño) [Thu, 16 Apr 2026 02:33:45 +0000 (04:33 +0200)]
appFavorites: Only emit :changed signal on changes

We were emitting the :changed signal on every setting or app-filter
change even though the actual favorites list might not have changed.

So now every time it's relevant, check if something is changed before
emitting the :changed signal.

We do a deep check of the app IDs as potentially an app could have
been removed while another is being installed during the same update
window, and the length of the IDs list wouldn't change.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4180>

6 months agodash: Don't notify two elements for each icon
Sergio Costas Rodriguez [Thu, 16 Apr 2026 11:41:47 +0000 (13:41 +0200)]
dash: Don't notify two elements for each icon

When the user uses a screen reader and navigates through the
dash, each element is notified as two: one panel with no label,
and then a button with the application name as the label.

This is because each icon has the BUTTON role, but is inside a
container with the PANEL role, so each time the focus changes
from an icon to the next, there is a change in the container,
so the screen reader notifies this. But that container is
useless for the screen reader. The container always read its
label because the label_actor property is set.

This patch fixes this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4182>

6 months agoUpdate Norwegian Bokmål translation
Kjartan Maraas [Fri, 17 Apr 2026 07:33:04 +0000 (07:33 +0000)]
Update Norwegian Bokmål translation

6 months agoci: Bump mutter image
Florian Müllner [Thu, 16 Apr 2026 21:27:54 +0000 (23:27 +0200)]
ci: Bump mutter image

Pulls in a umockdev update that hopefully should make tests less flaky.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4184>

6 months agompris: Do not send player-removed for a player that has never been added
Marco Trevisan (Treviño) [Thu, 16 Apr 2026 16:38:22 +0000 (18:38 +0200)]
mpris: Do not send player-removed for a player that has never been added

We only emit player-added for players that can play, but we remove them
all, despite this state.

This causes a non-fatal warning during the removal of a non-existent
notification (that is in fact an undefined message)

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/work_items/8284
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4183>

6 months agompris: Only expose the players that can play
Marco Trevisan (Treviño) [Thu, 16 Apr 2026 16:35:57 +0000 (18:35 +0200)]
mpris: Only expose the players that can play

In mpris we only emit "player-added" for players that can actually play,
but during NotificationBox and MessageList initialization we add them all,
including those not having being technically added.

And this may be a problem when locking the screen, since we do not want
players to show if they cannot play.

So, be consistent and expose publicly only the players that can play

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4183>

6 months agoFollowup to previous commit
Andre Klapper [Thu, 16 Apr 2026 05:29:24 +0000 (07:29 +0200)]
Followup to previous commit

6 months agoRevert wrong German translations
Andre Klapper [Thu, 16 Apr 2026 05:24:48 +0000 (07:24 +0200)]
Revert wrong German translations

See https://gitlab.gnome.org/Teams/Translation/de/-/issues/88

Introduced in e83286fc

6 months agodash: Disconnect overview signals on destroy
fthx [Mon, 16 Feb 2026 09:41:58 +0000 (09:41 +0000)]
dash: Disconnect overview signals on destroy

While we never destroy the dash ourselves, extensions that replace it
might, so better disconnect the signals properly instead of leaking
the handlers in that case.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4077>

6 months agoscreenshot: Snap cursor to the center of the handle on press
Ramez Medhat [Sat, 28 Mar 2026 15:14:15 +0000 (17:14 +0200)]
screenshot: Snap cursor to the center of the handle on press

When dragging the screenshot area handle from the outer sides, it is
currently impossible to move them to the edges or corners of the screen,
as the cursor is constrained to the monitor.

Fix this by snapping the cursor to the center of the handle when starting
the resize operation.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/9113
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4158>

6 months agoInstall all properties at once
Bilal Elmoussaoui [Tue, 14 Apr 2026 19:31:26 +0000 (21:31 +0200)]
Install all properties at once

As we already use a static array of GParamSpecs, so continue using that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agost/button: Prefer notify_by_pspec where possible
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:49:07 +0000 (19:49 +0200)]
st/button: Prefer notify_by_pspec where possible

Avoids the property by name lookup

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoPrefer g_steal_pointer where possible
Bilal Elmoussaoui [Wed, 15 Apr 2026 07:37:00 +0000 (09:37 +0200)]
Prefer g_steal_pointer where possible

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoPrefer g_string_free_and_steal instead of g_string_free
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:43:21 +0000 (19:43 +0200)]
Prefer g_string_free_and_steal instead of g_string_free

As that makes semantics clearer

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoPrefer using g_clear_handle_id
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:42:04 +0000 (19:42 +0200)]
Prefer using g_clear_handle_id

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoAlways initialize GError as NULL
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:41:16 +0000 (19:41 +0200)]
Always initialize GError as NULL

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agocroco: Remove unnecessary NULL checks
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:39:48 +0000 (19:39 +0200)]
croco: Remove unnecessary NULL checks

As g_free is NULL safe anyways

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoUse g_clear_list macros
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:37:51 +0000 (19:37 +0200)]
Use g_clear_list macros

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agocroco: Prefer using g_clear_* macros
Bilal Elmoussaoui [Wed, 15 Apr 2026 07:31:20 +0000 (09:31 +0200)]
croco: Prefer using g_clear_* macros

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoAdd G_PARAM_STATIC_NAME to all properties
Bilal Elmoussaoui [Wed, 15 Apr 2026 07:30:17 +0000 (09:30 +0200)]
Add G_PARAM_STATIC_NAME to all properties

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoPrefer using G_SOURCE_* constants instead of TRUE/FALSE
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:30:23 +0000 (19:30 +0200)]
Prefer using G_SOURCE_* constants instead of TRUE/FALSE

Makes the semantics clearer.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agost/image-content: Chain-up constructed
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:29:01 +0000 (19:29 +0200)]
st/image-content: Chain-up constructed

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agocroco: Remove functions declarations only
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:27:29 +0000 (19:27 +0200)]
croco: Remove functions declarations only

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoAlways set a source tag on GTasks
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:26:10 +0000 (19:26 +0200)]
Always set a source tag on GTasks

Helps with debugging/profiling.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agokeyring/prompt: Use g_value_set_static_string
Bilal Elmoussaoui [Tue, 14 Apr 2026 17:25:11 +0000 (19:25 +0200)]
keyring/prompt: Use g_value_set_static_string

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4176>

6 months agoBump version to 50.1
Florian Müllner [Tue, 14 Apr 2026 13:42:49 +0000 (15:42 +0200)]
Bump version to 50.1

Update NEWS.

6 months agoappDisplay: Go to item page for items dropped on page indicators
Mohamed Abdulla [Wed, 25 Mar 2026 18:42:33 +0000 (21:42 +0300)]
appDisplay: Go to item page for items dropped on page indicators

The page could be full so the item is dropped on the page after it instead.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4153>

6 months agoiconGrid: Exclude Lower Out of Bound in IconGridLayout getDropTarget()
Mohamed Abdulla [Mon, 23 Mar 2026 20:57:22 +0000 (23:57 +0300)]
iconGrid: Exclude Lower Out of Bound in IconGridLayout getDropTarget()

Exclude negative page values as well. They are possible in case of
dropping on the left-side of an app folder.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/7700
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4153>

6 months agosignalTracker: Add debug function to get all signal trackers
Sebastian Keller [Sat, 11 Apr 2026 13:43:05 +0000 (15:43 +0200)]
signalTracker: Add debug function to get all signal trackers

Signal trackers have been the source of difficult to identify leaks in
the past. Having access to the list of all active signal trackers at run
time without having to modify and rebuild gnome-shell can be very
valuable in identifying the source of these leaks, especially since the
steps required to trigger a leak might not always be obvious.

Related: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6423
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4169>

6 months agoenvironment: Disconnect from transitions when stopped
Sebastian Keller [Sat, 11 Apr 2026 13:02:12 +0000 (15:02 +0200)]
environment: Disconnect from transitions when stopped

Transitions don't emit a 'destroy' signal which would be used by the
SignalTracker to automatically clean up, leading to all transitions
being leaked until session shutdown.

Avoid this by manually disconnecting them when stopped.

Fixes: 240aa910d ("environment: Ignore animation events after shutdown")
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4168>

6 months agostatus/keyboard: Send activation token when launching Tecla
Sebastian Keller [Fri, 10 Apr 2026 20:26:53 +0000 (22:26 +0200)]
status/keyboard: Send activation token when launching Tecla

This ensures the window will be correctly focused, even when using
strict focus mode.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4165>

6 months agoUpdate Slovak translation
Jose Riha [Fri, 10 Apr 2026 11:49:05 +0000 (11:49 +0000)]
Update Slovak translation

6 months agoportalHelper: Add basic zoom support
Florian Müllner [Tue, 31 Mar 2026 16:21:58 +0000 (18:21 +0200)]
portalHelper: Add basic zoom support

A portal login page may have poor readability that require page zoom
functionality as implemented by most browsers.

However WebView does not provide this functionality itself, it only
exposes API that allows implementing it.

Add basic zoom in/out/reset actions based on epiphany's implementation,
and hook them up to accels.

Exposing them more prominently (as buttons or in a menu) would require
some UI rework, so leave that for a later.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/9129
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4159>

6 months agoportalHelper: Set up accels from app
Florian Müllner [Tue, 31 Mar 2026 19:39:05 +0000 (21:39 +0200)]
portalHelper: Set up accels from app

Setting up accels is an app action, so doing it from the app is
a more natural place than repeating it for each window (even if
the common case is a single window for the entire process lifetime).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4159>

7 months agosessionMode: Enable the networkAgent within the unlock-dialog
Mitchell Augustin [Mon, 6 Apr 2026 22:05:58 +0000 (17:05 -0500)]
sessionMode: Enable the networkAgent within the unlock-dialog

This ensures that selecting a password-protected
Wi-Fi network in quicksettings behaves the same
on both the initial gdm screen (before any user
has logged in, as enabled already in 4440a8210b456923678facd434ef8a23d48f63b6)
and when the screen has been locked by an already logged-in user.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4160>

7 months agoRemove functions with declaration-only
Bilal Elmoussaoui [Wed, 8 Apr 2026 12:06:37 +0000 (14:06 +0200)]
Remove functions with declaration-only

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4162>

7 months agotests: Don't check value before calling g_free
Bilal Elmoussaoui [Wed, 8 Apr 2026 12:02:44 +0000 (14:02 +0200)]
tests: Don't check value before calling g_free

It is NULL safe anyways.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4162>

7 months agoUse g_set_str where possible
Bilal Elmoussaoui [Wed, 8 Apr 2026 12:00:03 +0000 (14:00 +0200)]
Use g_set_str where possible

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4162>

7 months agoPrefer using g_clear_object/g_clear_pointer macro where possible
Bilal Elmoussaoui [Wed, 8 Apr 2026 11:53:04 +0000 (13:53 +0200)]
Prefer using g_clear_object/g_clear_pointer macro where possible

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4162>

7 months agoUpdate Catalan translation
Jordi Mas [Fri, 3 Apr 2026 13:14:11 +0000 (15:14 +0200)]
Update Catalan translation

7 months agost/texture-cache: Add missing error reporting
Jonas Ådahl [Mon, 23 Mar 2026 12:26:51 +0000 (13:26 +0100)]
st/texture-cache: Add missing error reporting

st_texture_cache_load_file_sync_to_cogl_texture() loads a file into a
texture, but if pixbuf_to_st_content_image() failed, it'd return that it
failed, but wouldn't set an error, which would cause a null pointer
dereference when attempting to log the error message in the caller. Fix
this by setting an error on all error paths.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/9130
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4150>

7 months agoRelease to experimental
Simon McVittie [Sat, 28 Mar 2026 20:53:16 +0000 (20:53 +0000)]
Release to experimental

7 months agoUpdate changelog
Simon McVittie [Sat, 28 Mar 2026 18:44:14 +0000 (18:44 +0000)]
Update changelog

7 months agod/source/options: Ignore regeneration of CSS when building source package
Simon McVittie [Sat, 28 Mar 2026 18:40:40 +0000 (18:40 +0000)]
d/source/options: Ignore regeneration of CSS when building source package

7 months agodebian/rules: Update stylesheet regeneration script path
Marco Trevisan (Treviño) [Tue, 8 Jul 2025 04:22:22 +0000 (06:22 +0200)]
debian/rules: Update stylesheet regeneration script path

(cherry picked from commit f3df179ae11aae4e3c25060a21604ab8f82b6178)

7 months agodebian/rules: Regenerate the css files before building
Marco Trevisan (Treviño) [Thu, 29 Feb 2024 22:08:38 +0000 (23:08 +0100)]
debian/rules: Regenerate the css files before building

Otherwise we may ship the outdated ones when patches apply changes to
upstream versions.

(cherry picked from commit cbd6c5333eb46e771b6362b1ce4acf48c2571491)

7 months agod/patches: Reduce delta vs. Ubuntu by adding some cherry-picks from upstream
Simon McVittie [Sat, 28 Mar 2026 18:32:31 +0000 (18:32 +0000)]
d/patches: Reduce delta vs. Ubuntu by adding some cherry-picks from upstream

This brings us up to upstream commit 50.0-7-gb8dbf86a4.

7 months agoUpdate Japanese translation
Ryo Nakano [Sat, 28 Mar 2026 14:04:13 +0000 (14:04 +0000)]
Update Japanese translation

7 months agoUpdate Polish translation
Victoria Niedzielska [Fri, 27 Mar 2026 08:56:12 +0000 (08:56 +0000)]
Update Polish translation

7 months agokeyboard: Ensure minimum height of the OSK always fits on screen
Sebastian Keller [Thu, 26 Mar 2026 18:29:44 +0000 (19:29 +0100)]
keyboard: Ensure minimum height of the OSK always fits on screen

At very low resolutions, 1/3 of the screen height might not be enough
for the minimum height of the OSK, causing some keys to get pushed out
of the screen. This now ensures the height is always at least the
minimum height, but only up to 1/2 of the screen to avoid situations
where the OSK would cover the whole screen preventing any other
interaction.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/9126
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4156>

7 months agod/tests/shell-tests: Eliminate trailing whitespace
Simon McVittie [Thu, 26 Mar 2026 14:38:35 +0000 (14:38 +0000)]
d/tests/shell-tests: Eliminate trailing whitespace

Gbp-Dch: ignore

7 months agod/tests/shell-tests: Don't wrap the tests in xvfb-run any more
Simon McVittie [Thu, 26 Mar 2026 14:38:21 +0000 (14:38 +0000)]
d/tests/shell-tests: Don't wrap the tests in xvfb-run any more

7 months agoreadme: Fix punctuation
rayjonesjay [Thu, 26 Mar 2026 09:35:17 +0000 (12:35 +0300)]
readme: Fix punctuation

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4155>

7 months agoUpdate changelog
Simon McVittie [Thu, 26 Mar 2026 11:41:02 +0000 (11:41 +0000)]
Update changelog

7 months agod/control: Bump gsettings-desktop-schemas dependency as per meson.build
Simon McVittie [Thu, 26 Mar 2026 11:39:08 +0000 (11:39 +0000)]
d/control: Bump gsettings-desktop-schemas dependency as per meson.build

7 months agoUpdate changelog
Simon McVittie [Thu, 26 Mar 2026 11:06:25 +0000 (11:06 +0000)]
Update changelog

7 months agoUpdate Romanian translation
Antonio Marin [Wed, 25 Mar 2026 09:24:17 +0000 (09:24 +0000)]
Update Romanian translation

7 months agoeditorconfig: Shell scripts are indented by 2 spaces
Peter Hutterer [Tue, 24 Mar 2026 00:48:35 +0000 (10:48 +1000)]
editorconfig: Shell scripts are indented by 2 spaces

Well, most of them anyway, fix the two that were 4-space indented.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4152>

7 months agotools/toolbox: Ignore missing config files
Peter Hutterer [Tue, 24 Mar 2026 00:37:36 +0000 (10:37 +1000)]
tools/toolbox: Ignore missing config files

The config file is created by our own create-toolbox.sh script which
sets the DEFAULT_TOOLBOX name. But for toolboxes created directly
that file doesn't exist, so let's skip over that (and thus require
the toolbox name to be given on the commandline or via an env var).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4152>

7 months agoquickSettings: Consider menu width when calculating its preferred height
Sebastian Keller [Tue, 17 Mar 2026 03:21:09 +0000 (04:21 +0100)]
quickSettings: Consider menu width when calculating its preferred height

Previously the width of a menu was ignored when calculating its
preferred height. This was leading to line wrapped text never being
wrapped in these calculations and thus the menu being assumed to be
shorter than it actually ends up when allocated with line wrapping.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6952
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4136>